package com.eeds.controller.pc;

import com.eeds.base.BaseController;
import com.eeds.common.model.BaseWrapper;
import com.eeds.common.model.PageInfo;
import com.eeds.interceptor.NeedAuth;
import com.eeds.model.project.req.*;
import com.eeds.model.project.res.*;
import com.eeds.service.project.ProjectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;

@RestController
@Api(value = "項目接口", description = "項目接口")
@RequestMapping("pc/project/")
public class ProjectController extends BaseController {

    @Autowired
    private ProjectService projectService;




    /**
     * description:获取项目信息列表
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqGetProjectListVO
     * @return
     */
    @NeedAuth
    @RequestMapping(value = "/getProjectList", method = RequestMethod.GET)
    @ApiOperation("项目信息列表")
    public BaseWrapper<PageInfo<ResGetProjectListVO>> getProjectList(@Valid @ModelAttribute ReqGetProjectListVO reqGetProjectListVO,HttpServletRequest request){
        PageInfo<ResGetProjectListVO> result = projectService.getProjectList(request,reqGetProjectListVO);
        return new BaseWrapper<>(result);
    }


    /**
     * description:获取项目信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqGetProjectInfoVO
     * @return
     */
    @NeedAuth
    @RequestMapping(value = "/getProjectInfo", method = RequestMethod.GET)
    @ApiOperation("获取项目信息")
    public BaseWrapper<ResGetProjectInfoVO> getProjectInfo(@Valid @ModelAttribute ReqGetProjectInfoVO reqGetProjectInfoVO){
        ResGetProjectInfoVO result = projectService.getProjectInfo(reqGetProjectInfoVO);
        return new BaseWrapper<>(result);
    }


    /**
     * description:添加项目信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqAddProjectVO
     * @return
     */
    @NeedAuth(role = 1)
    @RequestMapping(value = "/addProject", method = RequestMethod.POST)
    @ApiOperation("添加项目信息")
    public BaseWrapper<Integer> addProject(@Valid @ModelAttribute ReqAddProjectVO reqAddProjectVO){
        Integer result = projectService.addProject(reqAddProjectVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改项目信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @NeedAuth(role = 1)
    @RequestMapping(value = "/updateProject", method = RequestMethod.POST)
    @ApiOperation("修改项目信息")
    public BaseWrapper<Integer> updateProject(@Valid @ModelAttribute ReqUpdateProjectVO reqUpdateProjectVO){
        Integer result = projectService.updateProject(reqUpdateProjectVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:删除项目信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqDeleteProjectVO
     * @return BaseWrapper<Integer>
     */
    @NeedAuth(role = 1)
    @RequestMapping(value = "/deleteProject", method = RequestMethod.POST)
    @ApiOperation("删除项目信息")
    public BaseWrapper<Integer> deleteProject(@Valid @ModelAttribute ReqDeleteProjectVO reqDeleteProjectVO){
        Integer result = projectService.deleteProject(reqDeleteProjectVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取项目时间信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @NeedAuth
    @RequestMapping(value = "/getProjectDateInfo", method = RequestMethod.GET)
    @ApiOperation("获取项目时间信息")
    public BaseWrapper<ResGetProjectDateInfoVO> getProjectDateInfo(@Valid @ModelAttribute ReqGetProjectDateInfoVO reqGetProjectDateInfoVO){
        ResGetProjectDateInfoVO result = projectService.getProjectDateInfo(reqGetProjectDateInfoVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加图纸审查
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @NeedAuth
    @RequestMapping(value = "/addDrawingExamination", method = RequestMethod.POST)
    @ApiOperation("添加图纸审查")
    public BaseWrapper<Integer> addDrawingExamination(@Valid @ModelAttribute ReqAddDrawingExaminationVO reqAddDrawingExaminationVO){
        Integer result = projectService.addDrawingExamination(reqAddDrawingExaminationVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取图纸审查
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @NeedAuth
    @RequestMapping(value = "/getDrawingExamination", method = RequestMethod.GET)
    @ApiOperation("获取图纸审查")
    public BaseWrapper<ResGetDrawingExaminationVO> getDrawingExamination(@Valid @ModelAttribute ReqGetDrawingExaminationVO reqGetDrawingExaminationVO){
        ResGetDrawingExaminationVO result = projectService.getDrawingExamination(reqGetDrawingExaminationVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改图纸审查
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateDrawingExamination", method = RequestMethod.POST)
    @ApiOperation("修改图纸审查")
    @NeedAuth
    public BaseWrapper<Integer> updateDrawingExamination(@Valid @ModelAttribute ReqUpdateDrawingExaminationVO reqUpdateDrawingExaminationVO){
        Integer result = projectService.updateDrawingExamination(reqUpdateDrawingExaminationVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加间隔审批
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addIntervalApproval", method = RequestMethod.POST)
    @ApiOperation("添加间隔审批")
    @NeedAuth
    public BaseWrapper<Integer> addIntervalApproval(@Valid @ModelAttribute ReqAddIntervalApprovalVO reqAddIntervalApprovalVO){
        Integer result = projectService.addIntervalApproval(reqAddIntervalApprovalVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改间隔审批
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateIntervalApproval", method = RequestMethod.POST)
    @ApiOperation("修改间隔审批")
    @NeedAuth
    public BaseWrapper<Integer> updateIntervalApproval(@Valid @ModelAttribute ReqUpdateIntervalApprovalVO reqUpdateIntervalApprovalVO){
        Integer result = projectService.updateIntervalApproval(reqUpdateIntervalApprovalVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取间隔审批信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getIntervalApprovalInfo", method = RequestMethod.GET)
    @ApiOperation("获取间隔审批信息")
    @NeedAuth
    public BaseWrapper<ResGetIntervalApprovalInfoVO> getIntervalApprovalInfo(@Valid @ModelAttribute ReqGetIntervalApprovalInfoVO reqGetIntervalApprovalInfoVO){
        ResGetIntervalApprovalInfoVO result = projectService.getIntervalApprovalInfo(reqGetIntervalApprovalInfoVO);
        return new BaseWrapper<>(result);
    }


    /**
     * description:添加申请双重编号
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addApplicationForDoubleNumber", method = RequestMethod.POST)
    @ApiOperation("添加申请双重编号")
    @NeedAuth
    public BaseWrapper<Integer> addApplicationForDoubleNumber(@Valid @ModelAttribute ReqAddApplicationForDoubleNumberVO reqAddApplicationForDoubleNumberVO){
        Integer result = projectService.addApplicationForDoubleNumber(reqAddApplicationForDoubleNumberVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改申请双重编号
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateApplicationForDoubleNumber", method = RequestMethod.POST)
    @ApiOperation("修改申请双重编号")
    @NeedAuth
    public BaseWrapper<Integer> updateApplicationForDoubleNumber(@Valid @ModelAttribute ReqUpdateApplicationForDoubleNumberVO reqUpdateApplicationForDoubleNumberVO){
        Integer result = projectService.updateApplicationForDoubleNumber(reqUpdateApplicationForDoubleNumberVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取申请双重编号信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getApplicationForDoubleNumberInfo", method = RequestMethod.GET)
    @ApiOperation("获取申请双重编号信息")
    @NeedAuth
    public BaseWrapper<ResGetApplicationForDoubleNumberInfoVO> getApplicationForDoubleNumberInfo(@Valid @ModelAttribute ReqGetApplicationForDoubleNumberInfoVO reqGetApplicationForDoubleNumberInfoVO){
        ResGetApplicationForDoubleNumberInfoVO result = projectService.getApplicationForDoubleNumberInfo(reqGetApplicationForDoubleNumberInfoVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加下达双重编号
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addDoubleNumbering", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("添加下达双重编号")
    @NeedAuth
    public BaseWrapper<Integer> addDoubleNumbering(@Valid @RequestBody ReqAddDoubleNumberingVO reqAddDoubleNumberingVO){
        Integer result = projectService.addDoubleNumbering(reqAddDoubleNumberingVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改下达双重编号
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateDoubleNumbering", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("修改下达双重编号")
    @NeedAuth
    public BaseWrapper<Integer> updateDoubleNumbering(@Valid @RequestBody  ReqUpdateDoubleNumberingVO reqUpdateDoubleNumberingVO){
        Integer result = projectService.updateDoubleNumbering(reqUpdateDoubleNumberingVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取下达双重编号信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getDoubleNumberingInfo", method = RequestMethod.GET)
    @ApiOperation("获取下达双重编号信息")
    @NeedAuth
    public BaseWrapper<ResGetDoubleNumberingInfoVO> getDoubleNumberingInfo(@Valid @ModelAttribute ReqGetDoubleNumberingInfoVO reqGetDoubleNumberingInfoVO){
        ResGetDoubleNumberingInfoVO result = projectService.getDoubleNumberingInfo(reqGetDoubleNumberingInfoVO);
        return new BaseWrapper<>(result);
    }


    /**
     * description:添加告知
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addInform", method = RequestMethod.POST)
    @ApiOperation("添加告知")
    @NeedAuth
    public BaseWrapper<Integer> addInform(@Valid @ModelAttribute ReqAddInformVO reqAddInformVO){
        Integer result = projectService.addInform(reqAddInformVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改告知
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateInform", method = RequestMethod.POST)
    @ApiOperation("修改告知")
    @NeedAuth
    public BaseWrapper<Integer> updateInform(@Valid @ModelAttribute ReqUpdateInformVO reqUpdateInformVO){
        Integer result = projectService.updateInform(reqUpdateInformVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取告知
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getInform", method = RequestMethod.GET)
    @ApiOperation("获取告知")
    @NeedAuth
    public BaseWrapper<ResGetInformVO> getInform(@Valid @ModelAttribute ReqGetInformVO reqGetInformVO){
        ResGetInformVO result = projectService.getInform(reqGetInformVO);
        return new BaseWrapper<>(result);
    }


    /**
     * description:添加停电接火
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addBlackoutAndFire", method = RequestMethod.POST)
    @ApiOperation("添加停电接火")
    @NeedAuth
    public BaseWrapper<Integer> addBlackoutAndFire(@Valid @ModelAttribute ReqAddBlackoutAndFireVO reqAddBlackoutAndFireVO){
        Integer result = projectService.addBlackoutAndFire(reqAddBlackoutAndFireVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改停电接火
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateBlackoutAndFire", method = RequestMethod.POST)
    @ApiOperation("修改停电接火")
    @NeedAuth
    public BaseWrapper<Integer> updateBlackoutAndFire(@Valid @ModelAttribute ReqUpdateBlackoutAndFireVO reqUpdateBlackoutAndFireVO){
        Integer result = projectService.updateBlackoutAndFire(reqUpdateBlackoutAndFireVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取停电接火信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getBlackoutAndFireInfo", method = RequestMethod.GET)
    @ApiOperation("获取停电接火信息")
    @NeedAuth
    public BaseWrapper<ResGetBlackoutAndFireInfoVO> getBlackoutAndFireInfo(@Valid @ModelAttribute ReqGetBlackoutAndFireInfoVO reqGetBlackoutAndFireInfoVO){
        ResGetBlackoutAndFireInfoVO result = projectService.getBlackoutAndFireInfo(reqGetBlackoutAndFireInfoVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加检查验收
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addIntermediateInspection", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("添加检查验收")
    @NeedAuth
    public BaseWrapper<Integer> addIntermediateInspection(@Valid @RequestBody ReqAddIntermediateInspectionVO reqAddIntermediateInspectionVO){
        Integer result = projectService.addIntermediateInspection(reqAddIntermediateInspectionVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改检查验收
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateIntermediateInspection", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("修改检查验收")
    @NeedAuth
    public BaseWrapper<Integer> updateIntermediateInspection(@Valid @RequestBody ReqUpdateIntermediateInspectionVO reqUpdateIntermediateInspectionVO){
        Integer result = projectService.updateIntermediateInspection(reqUpdateIntermediateInspectionVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取检查验收
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getIntermediateInspectionInfo", method = RequestMethod.GET)
    @ApiOperation("获取检查验收")
    @NeedAuth
    public BaseWrapper<ResGetIntermediateInspectionVO> getIntermediateInspectionInfo(@Valid @ModelAttribute ReqGetIntermediateInspectionVO reqGetIntermediateInspectionVO){
        ResGetIntermediateInspectionVO result = projectService.getIntermediateInspectionInfo(reqGetIntermediateInspectionVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取检查验收列表
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getIntermediateInspectionList", method = RequestMethod.GET)
    @ApiOperation("获取检查验收列表")
    @NeedAuth
    public BaseWrapper<PageInfo<ResGetProjectListVO>> getIntermediateInspectionList(@Valid @ModelAttribute ReqGetIntermediateInspectionListVO reqGetIntermediateInspectionListVO){
        PageInfo<ResGetProjectListVO> result = projectService.getIntermediateInspectionList(reqGetIntermediateInspectionListVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加送电启动
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addPowerTransmissionStartUp", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("添加送电启动")
    @NeedAuth
    public BaseWrapper<Integer> addPowerTransmissionStartUp(@Valid @RequestBody ReqAddPowerTransmissionStartUpVO reqAddPowerTransmissionStartUpVO){
        Integer result = projectService.addPowerTransmissionStartUp(reqAddPowerTransmissionStartUpVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改送电启动
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updatePowerTransmissionStartUp", method = RequestMethod.POST)
    @ApiOperation("修改送电启动")
    @NeedAuth
    public BaseWrapper<Integer> updatePowerTransmissionStartUp(@Valid @RequestBody ReqUpdatePowerTransmissionStartUpVO reqUpdatePowerTransmissionStartUpVO){
        Integer result = projectService.updatePowerTransmissionStartUp(reqUpdatePowerTransmissionStartUpVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取送电启动信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getPowerTransmissionStartUpInfo", method = RequestMethod.GET,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("获取送电启动信息")
    @NeedAuth
    public BaseWrapper<ResGetPowerTransmissionStartUpInfoVO> getPowerTransmissionStartUpInfo(@Valid @ModelAttribute ReqGetPowerTransmissionStartUpInfoVO reqGetPowerTransmissionStartUpInfoVO){
        ResGetPowerTransmissionStartUpInfoVO result = projectService.getPowerTransmissionStartUpInfo(reqGetPowerTransmissionStartUpInfoVO);
        return new BaseWrapper<>(result);
    }


    /**
     * description:添加保护定值报送
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addProtectionFixedValueReporting", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("添加保护定值报送")
    @NeedAuth
    public BaseWrapper<Integer> addProtectionFixedValueReporting(@Valid @RequestBody ReqAddProtectionFixedValueReportingVO reqAddProtectionFixedValueReportingVO){
        Integer result = projectService.addProtectionFixedValueReporting(reqAddProtectionFixedValueReportingVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改保护定值报送
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateProtectionFixedValueReporting", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("修改保护定值报送")
    @NeedAuth
    public BaseWrapper<Integer> updateProtectionFixedValueReporting(@Valid @RequestBody ReqUpdateProtectionFixedValueReportingVO reqUpdateProtectionFixedValueReportingVO){
        Integer result = projectService.updateProtectionFixedValueReporting(reqUpdateProtectionFixedValueReportingVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取保护定值报送信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getProtectionFixedValueReportingInfo", method = RequestMethod.GET)
    @ApiOperation("获取保护定值报送信息")
    @NeedAuth
    public BaseWrapper<ResGetProtectionFixedValueReportingInfoVO> getProtectionFixedValueReportingInfo(@Valid @ModelAttribute ReqGetProtectionFixedValueReportingVO reqGetProtectionFixedValueReportingVO){
        ResGetProtectionFixedValueReportingInfoVO result = projectService.getProtectionFixedValueReportingInfo(reqGetProtectionFixedValueReportingVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加供电方案
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addPowerSupplyScheme", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("添加供电方案")
    @NeedAuth
    public BaseWrapper<Integer> addPowerSupplyScheme(@Valid @RequestBody ReqAddPowerSupplySchemeVO reqAddPowerSupplySchemeVO){
        Integer result = projectService.addPowerSupplyScheme(reqAddPowerSupplySchemeVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改供电方案
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updatePowerSupplyScheme", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("修改供电方案")
    @NeedAuth
    public BaseWrapper<Integer> updatePowerSupplyScheme(@Valid @RequestBody ReqUpdatePowerSupplySchemeVO reqUpdatePowerSupplySchemeVO){
        Integer result = projectService.updatePowerSupplyScheme(reqUpdatePowerSupplySchemeVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取供电方案信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getPowerSupplySchemeInfo", method = RequestMethod.POST,produces={MediaType.APPLICATION_JSON_VALUE})
    @ApiOperation("获取供电方案信息")
    @NeedAuth
    public BaseWrapper<ResGetPowerSupplySchemeInfoVO> getPowerSupplySchemeInfo(@Valid @RequestBody ReqGetPowerSupplySchemeInfoVO reqGetPowerSupplySchemeInfoVO){
        ResGetPowerSupplySchemeInfoVO result = projectService.getPowerSupplySchemeInfo(reqGetPowerSupplySchemeInfoVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取项目基本信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getProjectBaseInfo", method = RequestMethod.GET)
    @ApiOperation("获取项目基本信息")
    @NeedAuth
    public BaseWrapper<ResGetProjectBaseInfoVO> getProjectBaseInfo(@Valid @ModelAttribute  ReqGetProjectBaseInfoVO reqGetProjectBaseInfoVO){
        ResGetProjectBaseInfoVO result = projectService.getProjectBaseInfo(reqGetProjectBaseInfoVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加用户评价
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addUserEvaluation", method = RequestMethod.POST)
    @ApiOperation("添加用户评价")
    @NeedAuth
    public BaseWrapper<Integer> addUserEvaluation(@Valid @ModelAttribute ReqAddUserEvaluationVO reqAddUserEvaluationVO){
        Integer result = projectService.addUserEvaluation(reqAddUserEvaluationVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改用户评价
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateUserEvaluation", method = RequestMethod.POST)
    @ApiOperation("修改用户评价")
    @NeedAuth
    public BaseWrapper<Integer> updateUserEvaluation(@Valid @ModelAttribute ReqUpdateUserEvaluationVO reqUpdateUserEvaluationVO){
        Integer result = projectService.updateUserEvaluation(reqUpdateUserEvaluationVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取用户评价信息
     * @author: Flying
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getUserEvaluationInfo", method = RequestMethod.GET)
    @ApiOperation("获取用户评价信息")
    @NeedAuth
    public BaseWrapper<ResGetUserEvaluationInfoVO> getUserEvaluationInfo(@Valid @ModelAttribute ReqGetUserEvaluationInfoVO reqGetUserEvaluationInfoVO){
        ResGetUserEvaluationInfoVO result = projectService.getUserEvaluationInfo(reqGetUserEvaluationInfoVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加资料归档
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addDataArchiving", method = RequestMethod.POST)
    @ApiOperation("添加资料归档")
    @NeedAuth
    public BaseWrapper<Integer> addDataArchiving(@Valid @ModelAttribute ReqAddDataArchivingVO reqAddDataArchivingVO){
        Integer result = projectService.addDataArchiving(reqAddDataArchivingVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改资料归档
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateDataArchiving", method = RequestMethod.POST)
    @ApiOperation("修改资料归档")
    @NeedAuth
    public BaseWrapper<Integer> updateDataArchiving(@Valid @ModelAttribute ReqUpdateDataArchivingVO reqUpdateDataArchivingVO){
        Integer result = projectService.updateDataArchiving(reqUpdateDataArchivingVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取资料归档信息
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getDataArchivingInfo", method = RequestMethod.GET)
    @ApiOperation("获取资料归档信息")
    @NeedAuth
    public BaseWrapper<ResGetDataArchivingInfoVO> getDataArchivingInfo(@Valid @ModelAttribute ReqGetDataArchivingInfoVO reqGetDataArchivingInfoVO){
        ResGetDataArchivingInfoVO result = projectService.getDataArchivingInfo(reqGetDataArchivingInfoVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:添加现场勘查
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addSceneInvestigation", method = RequestMethod.POST)
    @ApiOperation("添加现场勘查")
    @NeedAuth
    public BaseWrapper<Integer> addSceneInvestigation(@Valid @ModelAttribute ReqAddSceneInvestigationVO reqAddSceneInvestigationVO){
        Integer result = projectService.addSceneInvestigation(reqAddSceneInvestigationVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:修改现场勘查
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/updateSceneInvestigation", method = RequestMethod.POST)
    @ApiOperation("修改现场勘查")
    @NeedAuth
    public BaseWrapper<Integer> updateSceneInvestigation(@Valid @ModelAttribute ReqUpdateSceneInvestigationVO reqUpdateSceneInvestigationVO){
        Integer result = projectService.updateSceneInvestigation(reqUpdateSceneInvestigationVO);
        return new BaseWrapper<>(result);
    }

    /**
     * description:获取现场勘查信息
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/getSceneInvestigationInfo", method = RequestMethod.GET)
    @ApiOperation("获取现场勘查信息")
    @NeedAuth
    public BaseWrapper<ResGetSceneInvestigationInfoVO> getSceneInvestigationInfo(@Valid @ModelAttribute ReqGetSceneInvestigationInfoVO reqGetSceneInvestigationInfoVO){
        ResGetSceneInvestigationInfoVO result = projectService.getSceneInvestigationInfo(reqGetSceneInvestigationInfoVO);
        return new BaseWrapper<>(result);
    }


    /**
     * description:添加竣工资料收集
     * @author: FlyingA
     * @date: 2018-08-28 12:31
     * @param: reqUpdateProjectVO
     * @return
     */
    @RequestMapping(value = "/addCompletionDataCollection", method = RequestMethod.POST)
    @ApiOperation("添加竣工资料收集")
    @NeedAuth
    public BaseWrapper<Integer> addCompletionDataCollection(@Valid @ModelAttribute ReqAddCompletionDataCollectionVO reqAddCompletionDataCollectionVO){
        Integer result = projectService.addCompletionDataCollection(reqAddCompletionDataCollectionVO);
        return new BaseWrapper<>(result);
    }

}
